﻿using System;
// 可以在声明类、结构体、接口、委托和方法时引入类型参数。
// 其他的结构，如属性、不能引入类型参数，但可以使用类型参数。
namespace _067_声明类型参数
{
    class Program
    {
        public struct Nullable<T>
        {
            public T Value { get; set; }
        }
        class Dictionary<TKey, TValue> { }
        // 泛型名和泛化方法名可以被重载，只要类型参数的数量不同即可。
        //例如：下面的两个类名不会冲突
        class A<T> { }
        class A<T1, T2> { }
        static void Main(string[] args)
        {
            // 实例化方法
            Dictionary<int, string> myDic = new Dictionary<int, string>();
            // 或者
            var myDic1 = new Dictionary<int, string>();
        }
    }
}